Breaking
- Remove
opaque_over_existential
opt-in rule as it causes too many false positives
that can even lead to wrong-compilable code whenany
is required by a protocol the
type conforms to. In this case, usingsome
can be totally valid even though the
protocol requirement is not reimplemented for the type causing behavioral changes.
SimplyDanny
Experimental
- None.
Enhancements
- Add new
allowed_numbers
option to theno_magic_numbers
rule.
Martin Redington
Bug Fixes
- None.
Using Bazel
With bzlmod:
// Pending BCR update
bazel_dep(name = "swiftlint", version = "0.59.1", repo_name = "SwiftLint")
Without bzlmod, put this in your WORKSPACE
:
WORKSPACE
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
name = "build_bazel_rules_apple",
sha256 = "9e26307516c4d5f2ad4aee90ac01eb8cd31f9b8d6ea93619fc64b3cbc81b0944",
url = "https://github.com/bazelbuild/rules_apple/releases/download/2.2.0/rules_apple.2.2.0.tar.gz",
)
load(
"@build_bazel_rules_apple//apple:repositories.bzl",
"apple_rules_dependencies",
)
apple_rules_dependencies()
load(
"@build_bazel_rules_swift//swift:repositories.bzl",
"swift_rules_dependencies",
)
swift_rules_dependencies()
load(
"@build_bazel_rules_swift//swift:extras.bzl",
"swift_rules_extra_dependencies",
)
swift_rules_extra_dependencies()
http_archive(
name = "SwiftLint",
sha256 = "5c7aa164801b766bd19aa0968ee7cf07c8d89c9813a63e8cfb0fec9dbb6cd788",
url = "https://github.com/realm/SwiftLint/releases/download/0.59.1/bazel.tar.gz",
)
load("@SwiftLint//bazel:repos.bzl", "swiftlint_repos")
swiftlint_repos()
load("@SwiftLint//bazel:deps.bzl", "swiftlint_deps")
swiftlint_deps()
Then you can run SwiftLint in the current directory with this command:
bazel run @SwiftLint//:swiftlint -- --help